// T 泛型, list 指定类型的序列, ->T 返回指定类型的一个值
fn largest<T: PartialOrd + Clone>(list: &[T]) -> T {
    let mut max = list[0].clone(); // 取第1个元素
    list.into_iter().for_each(|item| {
        if item > &max {
            max = item.clone();
        }
    });
    max // 返回
}

// T 泛型, list 指定类型的序列, ->T 返回指定类型的一个值
fn largest1<T: PartialOrd>(list: &[T]) -> &T {
    let mut max = &list[0]; // 取第1个元素
    list.into_iter().for_each(|item| {
        if item > &max {
            max = item;
        }
    });
    max // 返回
}

fn main() {
    let number_list = vec![1, 2, 3, 4, 8, 9, 11, 10];
    let result = largest1(&number_list);
    println!("{}", result);
    let result = largest(&number_list);
    println!("{}", result); 
}
